Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Singlegon -> obiekt w konstruktorze?
Ziels
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

Ostrzeżenie: (0%)
-----


Witam!

Ostatnio poprzerabiałem trochę swojego CMS'a zmieniając część klas na wzorzec singleton, po krótkim czasie dopało mnie zaskoczenie 'czemu to nie działa?' ... Doszedłem do tego że przy takim kodzie:

  1. <?php
  2. class someclass{
  3. protected function __construct(){
  4. }
  5. protected function __clone(){}
  6. public static function getInstance(){
  7. static $instance;
  8. if(!$instance){
  9. $instance = new someclass;
  10. }
  11. return $instance;
  12. }
  13. }
  14. ?>


Jeśli wsadzimy do konstruktora coś typu:

  1. <?php
  2. protected function __construct(){
  3. $object = new some_other_class;
  4. $object -> some_method();
  5. }
  6. ?>


To cały skrypt leci na łeb na szyję... Da się z tym coś zrobić oprócz przerabiania klasy z której chcemy skorzystać na statyczną?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Nie bardzo wiem, dlaczego Ci to nie działa. Nie jest to jednak wina Singletona. Coś masz popsute gdzieś indziej.

Pozdrawiam.
Go to the top of the page
+Quote Post
Ziels
post
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

Ostrzeżenie: (0%)
-----


Dobra, działa, jak się przypatrzyłem bardziej to nie inicjowałem obiektu tylko od razu próbowałem wywoływać metodę - w końcu można iść spać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 13:11